package NGUYENVANDOAN.ARRAYLIST_DEMO.BAITOAN01;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class DEMO {
    public static void main(String[] args) {
        //1. Khai báo mảng động 1 chiều với List - ArrayList
        //Kiểu biến[] tên biến = new kiểu biến[kích thước];
        List<Double> lisDouble;
        ArrayList<Double> arrDouble;
        
        //2. Khởi tạo mảng động
        lisDouble = new ArrayList<Double>();
        arrDouble = new ArrayList<Double>();
        
        //3. Sử dụng lần lượt các phương thức đc cung cấp sẵn
        //a. add: Đưa giá trị vào mảng động       
        lisDouble.add(10.0);
        lisDouble.add(8.5);
        lisDouble.add(6.5);
        lisDouble.add(9.5);
        
        //b. Hiển thị ra giá trong mảng
        for(int i = 0;i<lisDouble.size();i++){
              System.out.println("lisDouble["+ i +"] = "+ lisDouble.get(i));
        }
        
        //c. Clear(): Xóa toàn bộ giá trị trong mảng động
        //lisDouble.clear();
        
        //d. AddAll(): Sao chép dữ liệu từ mảng động A --> B
        List<Double> lisTagerD = new ArrayList<Double>();
        //lisDouble.addAll(lisTagerD);  //Sai
        lisTagerD.addAll(lisDouble); //Đúng
        
        //e. Sort(): Sắp xếp giá trị trong mảng động theo thứ tự A->Z (ASC)
        Collections.sort(lisTagerD);   //ASC
        System.out.println("-----Sorted-------");
        for(int i = 0;i<lisTagerD.size();i++){
            System.out.println("lisTagerD["+ i +"] = "+ lisTagerD.get(i));
       }        
    }
}
